normalize.fm 18:デジタルとアナログのインターフェース
2022/2
企業の経緯
昔からJavaScriptをやっていた
JavaScriptしかどのコンピュータでもインストール不要で動くツールがなかった
インストーラーは作るの大変だしユーザーも使いたくないし
JVMをJSで実装したりしてた
携帯が流行った
Flash lite
swfを自動生成して動かす
Webの良さはインストール不要なところ
FlashをHTML5にするエンジン
JavaScriptの数値計算で誤差が載る
2**5のような記法はブラウザ依存
Math.powは仕様が決まってるのでどのブラウザでも大丈夫だった
内部でpowにするプロポーザルを書かないとと思っている
ブラウザゲームを作った
物理演算をする
複数ブラウザでリプレイを他の端末でも再現したい(クライアントで計算したい)
ブラウザ依存の計算の差が許容できない
Sun microsystemsのmlibをwasmでもってきている
wasmを使うと計算が共通化できる!
20年前は浮動小数点の計算ユニットがCPUによって違うので足し算の結果が変わることもあった
SSE2が使われるようになってIEEE754にほぼ確実に保証されている WebGLでも環境によってかなり変わるらしい
OpenGLが作られた当時想定されたGPUアーキテクチャは最新のGPUアーキテクチャとあってない
JavaScriptは後方互換性を捨てられない言語なのでつらいところ
必ずfallbackが必要になるから、TypeScriptなどの新しい言語を作ってJSにトランスパイルする考え方がいいかも
async/await入れられたの偉い
Promiseからはじまった
当時は「polyfillでできるじゃん」と思っていた
写真の本を出した
JavaScriptでゲームを作るYouTuberをはじめる